|
Kanzi Graphics Engine
|
Core renderer. More...
#include <core/util/color/kzc_color.h>#include <core/util/math/kzc_matrix4x4.h>#include <system/kzs_types.h>#include <system/debug/kzs_error.h>#include <system/wrappers/kzs_math.h>#include <system/wrappers/kzs_opengl_base.h>#include <system/kzs_header.h>Data Structures | |
| struct | KzcRendererUniformBufferUniform |
| Specifies single uniform buffer uniform. More... | |
| struct | KzcRendererUniformBufferBlock |
| Structure for uniform buffer block. More... | |
Macros | |
| #define | KZC_RENDERER_UNIFORM_CACHE_SIZE |
| Size of the uniform cache. More... | |
| #define | KZC_RENDERER_PER_FRAME_MEMORY_MANAGER_SIZE |
| Size of the per frame memory manager. More... | |
| #define | KZC_RENDERER_MAX_TEXTURE_UNITS |
| Maximum number of supported texture units. More... | |
| #define | KZC_RENDERER_MAX_VERTEX_ATTRIBUTES |
| Maximum amount of shader vertex attributes. More... | |
| #define | KZC_RENDERER_BUFFER_VALUE_NONE |
| Null value for buffers, that is, vertex & index buffer. More... | |
| #define | KZC_RENDERER_TEXTURE_COMPRESSION_COUNT |
| Number of texture compression modes. More... | |
| #define | KZC_VERTEX_ARRAY_POSITION |
| Positions for vertex array. More... | |
| #define | KZC_VERTEX_ARRAY_NORMAL |
| Normals for vertex array. More... | |
| #define | KZC_VERTEX_ARRAY_COLOR |
| Colors for vertex array. More... | |
| #define | KZC_VERTEX_ARRAY_TEXTURE_COORDINATE |
| UVs for vertex array. More... | |
| #define | KZC_RENDERER_UNIFORM_BUFFER_DEFAULT |
| Default uniform buffer, that contains all the uniforms in the shader. More... | |
| #define | KZC_RENDERER_MAX_VERTEX_COLORS |
| Maximum number of supported vertex colors, used in rendering of vertex arrays. More... | |
Typedefs | |
| typedef void(* | KzcRendererFrameBufferCallback )(kzUint frameBufferHandle) |
| Callback prototype for setActiveFrameBuffer. More... | |
Functions | |
| kzsError | kzcRendererCreate (const struct KzcMemoryManager *memoryManager, struct KzcRenderer **out_renderer) |
| Creates a new renderer object. More... | |
| kzsError | kzcRendererDelete (struct KzcRenderer *renderer) |
| Deletes a renderer object. More... | |
| kzsError | kzcRendererResetFrame (struct KzcRenderer *renderer) |
| Resets frame for core renderer, that is, counters for logging rendering infos (triangle count etc.). More... | |
| kzsError | kzcRendererReset (struct KzcRenderer *renderer) |
| Resets renderer, e.g. More... | |
| kzsError | kzcRendererInitialize (struct KzcRenderer *renderer, kzUint vertexBufferPoolSize, kzUint indexBufferPoolSize) |
| Initializes renderer object. More... | |
| kzsError | kzcRendererUninitialize (struct KzcRenderer *renderer) |
| Uninitializes renderer object. More... | |
| void | kzcRendererSetActiveSurface (struct KzcRenderer *renderer, struct KzsSurface *surface) |
| Sets active surface context for renderer. More... | |
| struct KzsSurface * | kzcRendererGetActiveSurface (const struct KzcRenderer *renderer) |
| Gets active surface context from renderer. More... | |
| void | kzcRendererEnableState (struct KzcRenderer *renderer, enum KzcRendererState state) |
| Enables a specific renderer state. More... | |
| void | kzcRendererDisableState (struct KzcRenderer *renderer, enum KzcRendererState state) |
| Disables a specific renderer state. More... | |
| void | kzcRendererSetState (struct KzcRenderer *renderer, enum KzcRendererState state, kzBool enable) |
| Enables or disables the state of a specific renderer state. More... | |
| kzBool | kzcRendererGetState (const struct KzcRenderer *renderer, enum KzcRendererState state) |
| Returns state of a specific renderer state. More... | |
| void | kzcRendererClear (struct KzcRenderer *renderer) |
| Clears a context using specified flags. More... | |
| void | kzcRendererResetClearTarget (struct KzcRenderer *renderer) |
| Resets a clear target for renderer. More... | |
| void | kzcRendererAddClearTarget (struct KzcRenderer *renderer, enum KzcRendererClearTarget target) |
| Sets a clearing target for renderer. More... | |
| void | kzcRendererRemoveClearTarget (struct KzcRenderer *renderer, enum KzcRendererClearTarget target) |
| Removes a clearing target for renderer. More... | |
| kzBool | kzcRendererHasClearTarget (const struct KzcRenderer *renderer, enum KzcRendererClearTarget target) |
| Sees if renderer has specific clear target. More... | |
| kzBool | kzcRendererIsClearEnabled (const struct KzcRenderer *renderer) |
| See if clear is enabled. More... | |
| void | kzcRendererSetClearColor (struct KzcRenderer *renderer, struct KzcColorRGBA colorRGBA) |
| Set clear color for renderer. More... | |
| void | kzcRendererSetColorWriteMode (struct KzcRenderer *renderer, enum KzcRendererColorWriteMode colorWriteMode) |
| Set a color write mode for renderer. More... | |
| enum KzcRendererColorWriteMode | kzcRendererGetColorWriteMode (const struct KzcRenderer *renderer) |
| Gets current color write mode from renderer. More... | |
| void | kzcRendererSetScissorTest (struct KzcRenderer *renderer, kzBool enabled, kzInt x, kzInt y, kzInt width, kzInt height) |
| Sets scissor test for renderer. More... | |
| void | kzcRendererGetScissorTest (const struct KzcRenderer *renderer, kzInt *out_x, kzInt *out_y, kzInt *out_width, kzInt *out_height) |
| Gets scissor specific values from renderer. More... | |
| void | kzcRendererSetClearDepthValue (struct KzcRenderer *renderer, kzFloat clearDepthValue) |
| Set clear depth for renderer. More... | |
| void | kzcRendererSetClearStencil (struct KzcRenderer *renderer, kzInt stencilClearValue) |
| Set clear stencil for renderer. More... | |
| void | kzcRendererSetViewport (struct KzcRenderer *renderer, kzInt x, kzInt y, kzInt width, kzInt height) |
| Sets an active view port for renderer. More... | |
| void | kzcRendererSetVertexBuffer (struct KzcRenderer *renderer, kzUint value) |
| Sets a vertex buffer for renderer. More... | |
| void | kzcRendererSetIndexBuffer (struct KzcRenderer *renderer, kzUint value) |
| Sets an index buffer for renderer. More... | |
| void | kzcRendererDrawBuffers (struct KzcRenderer *renderer) |
| Render buffers that are currently bound. More... | |
| void | kzcRendererSetVertexCount (struct KzcRenderer *renderer, kzUint vertexCount) |
| Sets vertex count for renderer. More... | |
| void | kzcRendererSetIndexCount (struct KzcRenderer *renderer, kzUint indexCount) |
| Sets the index count for renderer. More... | |
| void | kzcRendererSetIndexData (struct KzcRenderer *renderer, void *indexData) |
| Sets index data for renderer. More... | |
| void | kzcRendererSetIndexType (struct KzcRenderer *renderer, enum KzcPrimitiveType indexType) |
| Sets the index type for renderer. More... | |
| kzsError | kzcRendererGetUniformLocation (const struct KzcRenderer *renderer, kzString uniformName, kzInt *out_uniformLocation) |
| Finds uniform location for given uniform from active shader. More... | |
| kzsError | kzcRendererGetUniformArrayLength (const struct KzcRenderer *renderer, kzString uniformName, kzUint *out_arrayLength) |
| Returns array uniform length for given uniform. More... | |
| kzsError | kzcRendererSetUniformInteger (struct KzcRenderer *renderer, kzInt value, kzInt uniformLocation) |
| Sets integer uniform for renderer, using currently bound shader. More... | |
| kzsError | kzcRendererSetUniformFloat (struct KzcRenderer *renderer, kzFloat value, kzInt uniformLocation) |
| Sets float uniform for renderer, using currently bound shader. More... | |
| kzsError | kzcRendererSetUniformFloatArray (struct KzcRenderer *renderer, kzInt uniformLocation, kzUint count, const kzFloat *value) |
| Sets uniform float array for renderer. More... | |
| kzsError | kzcRendererSetUniformVec2 (struct KzcRenderer *renderer, const struct KzcVector2 *value, kzInt uniformLocation) |
| Sets uniform vec2 for renderer, using currently bound shader. More... | |
| kzsError | kzcRendererSetUniformVec3 (struct KzcRenderer *renderer, const struct KzcVector3 *value, kzInt uniformLocation) |
| Sets uniform vec3 for renderer, using currently bound shader. More... | |
| kzsError | kzcRendererSetUniformVec3Array (struct KzcRenderer *renderer, kzInt uniformLocation, kzUint count, const struct KzcVector3 *value) |
| Sets uniform vec3 array for renderer. More... | |
| kzsError | kzcRendererSetUniformVec4 (struct KzcRenderer *renderer, const struct KzcVector4 *value, kzInt uniformLocation) |
| Sets uniform vec4 for renderer, using currently bound shader. More... | |
| kzsError | kzcRendererSetUniformVecArray (struct KzcRenderer *renderer, kzInt uniformLocation, kzUint count, kzUint dimension, const kzFloat *values) |
| Sets arbitrary vector array with dimension to renderer, using currently bound shader. More... | |
| kzsError | kzcRendererSetUniformColorRGBA (struct KzcRenderer *renderer, const struct KzcColorRGBA *value, kzInt uniformLocation) |
| Sets uniform colorRGBA for renderer, using currently bound shader. More... | |
| kzsError | kzcRendererSetUniformVec4Array (struct KzcRenderer *renderer, kzInt uniformLocation, kzUint count, const struct KzcVector4 *value) |
| Sets uniform vec4 array for renderer. More... | |
| kzsError | kzcRendererSetUniformMatrix2x2 (struct KzcRenderer *renderer, const struct KzcMatrix2x2 *value, kzInt uniformLocation) |
| Sets matrix2x2 uniform for renderer, using currently bound shader. More... | |
| kzsError | kzcRendererSetUniformMatrix3x3 (struct KzcRenderer *renderer, const struct KzcMatrix3x3 *value, kzInt uniformLocation) |
| Sets matrix3x3 uniform for renderer, using currently bound shader. More... | |
| kzsError | kzcRendererSetUniformMatrix4x4 (struct KzcRenderer *renderer, const struct KzcMatrix4x4 *value, kzInt uniformLocation) |
| Sets matrix4x4 uniform for renderer, using currently bound shader. More... | |
| void | kzcRendererSetActiveScalar (struct KzcRenderer *renderer, enum KzcRendererScalar scalar, kzFloat value) |
| Switches an scalar value for renderer if necessary, e.g. More... | |
| kzFloat | kzcRendererGetActiveScalar (const struct KzcRenderer *renderer, enum KzcRendererScalar scalar) |
| Returns a current scalar value from renderer. More... | |
| void | kzcRendererSetBlendMode (struct KzcRenderer *renderer, enum KzcRendererBlendMode blendMode) |
| Sets a blend mode for renderer. More... | |
| enum KzcRendererBlendMode | kzcRendererGetBlendMode (const struct KzcRenderer *renderer) |
| Gets a blend mode for renderer. More... | |
| void | kzcRendererSetCullMode (struct KzcRenderer *renderer, enum KzcRendererCullMode cullMode) |
| Sets a cull mode for renderer. More... | |
| enum KzcRendererCullMode | kzcRendererGetCullMode (const struct KzcRenderer *renderer) |
| Gets a cull mode for renderer. More... | |
| void | kzcRendererSetDepthTest (struct KzcRenderer *renderer, enum KzcRendererDepthTest depthMode) |
| Sets a depth pass mode for renderer. More... | |
| enum KzcRendererDepthTest | kzcRendererGetDepthTest (const struct KzcRenderer *renderer) |
| Gets a depth pass mode for renderer. More... | |
| void | kzcRendererSetStencilFunction (struct KzcRenderer *renderer, enum KzcRendererStencilFunction stencilFunction, kzUint referenceValue, kzUint maskValue) |
| Sets a stencil function for renderer. More... | |
| void | kzcRendererSetStencilOperation (struct KzcRenderer *renderer, enum KzcRendererStencilOperation stencilFailOperation, enum KzcRendererStencilOperation stencilPassDepthFailOperation, enum KzcRendererStencilOperation stencilPassDepthPassOperation) |
| Sets a stencil operation for renderer. More... | |
| void | kzcRendererGetStencilFunction (const struct KzcRenderer *renderer, enum KzcRendererStencilFunction *out_stencilFunction, kzUint *out_referenceValue, kzUint *out_maskValue) |
| Gets stencil function from renderer. More... | |
| void | kzcRendererGetStencilOperation (const struct KzcRenderer *renderer, enum KzcRendererStencilOperation *out_stencilFailOperation, enum KzcRendererStencilOperation *out_stencilPassDepthFailOperation, enum KzcRendererStencilOperation *out_stencilPassDepthPassOperation) |
| Gets a stencil operation from renderer. More... | |
| void | kzcRendererSetMatrix (struct KzcRenderer *renderer, enum KzcRendererMatrix matrixType, const struct KzcMatrix4x4 *matrix) |
| Sets matrix for a renderer. More... | |
| struct KzcMatrix4x4 | kzcRendererGetMatrix (const struct KzcRenderer *renderer, enum KzcRendererMatrix matrixType) |
| Gets a matrix from renderer. More... | |
| void | kzcRendererCalculateProjectionCameraWorldMatrix (struct KzcRenderer *renderer) |
| Calculates projection * camera * world matrix. More... | |
| kzsError | kzcRendererApplyTransformation (struct KzcRenderer *renderer) |
| Applies transformations from renderer to GPU. More... | |
| kzsError | kzcRendererSetActiveTextureUnit (struct KzcRenderer *renderer, kzUint textureUnit) |
| Sets texture unit active. More... | |
| kzsError | kzcRendererGetTextureSizeUniformLocations (const struct KzcRenderer *renderer, kzInt *out_textureWidthUniformLocation, kzInt *out_textureHeightUniformLocation) |
| Gets texture uniform locations from renderer. More... | |
| kzsError | kzcRendererApplyTextureSizeUniforms (struct KzcRenderer *renderer, kzInt textureWidthUniformLocation, kzInt textureHeightUniformLocation, kzUint textureWidth, kzUint textureHeight) |
| Applies texture uniforms for the renderer. More... | |
| kzsError | kzcRendererApplyTexture (struct KzcRenderer *renderer, kzInt textureUniformLocation, kzUint textureHandle, enum KzcRendererTextureType textureType) |
| Applies texture for renderer using currently bound shader (required) and texture uniform (required). More... | |
| void | kzcRendererSetUniformTexture (struct KzcRenderer *renderer, kzInt uniformLocation) |
| Sets texture uniform location for renderer, effectively used for storing the integer in renderer to retrieve it when binding textures. More... | |
| kzInt | kzcRendererGetUniformTexture (const struct KzcRenderer *renderer) |
| Gets texture uniform location from renderer. More... | |
| kzsError | kzcRendererDetachTextureHandle (struct KzcRenderer *renderer, kzUint textureHandle) |
| Detaches texture handle from all texture units it has been applied for. More... | |
| void | kzcRendererDetachTexture (struct KzcRenderer *renderer) |
| Detaches texture from rendering. More... | |
| kzsError | kzcRendererInvalidateTextureHandle (struct KzcRenderer *renderer, kzUint textureHandle) |
| Invalidates texture handle from renderer without affecting GL state. More... | |
| void | kzcRendererBindTexture (struct KzcRenderer *renderer, enum KzcRendererTextureType textureType, kzUint textureHandle) |
| Binds texture for renderer. More... | |
| kzsError | kzcRendererGenerateTexture (struct KzcRenderer *renderer, kzUint *out_textureHandle) |
| Generates new texture for renderer. More... | |
| void | kzcRendererSetTextureImage2D (struct KzcRenderer *renderer, enum KzcRendererTextureType textureType, kzUint mipmapLevel, enum KzcRendererTextureFormat textureFormat, kzUint width, kzUint height, const void *data) |
| Uploads texture data to GPU. More... | |
| void | kzcRendererSetTextureSubImage2D (struct KzcRenderer *renderer, enum KzcRendererTextureType textureType, kzUint mipmapLevel, enum KzcRendererTextureFormat textureFormat, kzUint x, kzUint y, kzUint width, kzUint height, const void *data) |
| Uploads texture subimage data to GPU. More... | |
| kzsError | kzcRendererSetCompressedTextureImage2D (struct KzcRenderer *renderer, enum KzcRendererTextureType textureType, kzUint mipmapLevel, enum KzcRendererTextureCompression compression, kzUint width, kzUint height, const void *data) |
| Uploads compressed texture data to GPU. More... | |
| kzsError | kzcRendererDeleteTexture (struct KzcRenderer *renderer, kzUint textureHandle) |
| Deletes texture via renderer. More... | |
| void | kzcRendererSetTextureWrapMode (struct KzcRenderer *renderer, enum KzcRendererTextureType textureType, enum KzcRendererTextureWrapMode wrapMode) |
| Sets wrap mode for currently bound texture in current texture unit. More... | |
| void | kzcRendererSetTextureFilter (struct KzcRenderer *renderer, enum KzcRendererTextureType textureType, enum KzcRendererTextureFilter filter, kzFloat anisotropy) |
| Sets texture filter for currently bound texture in current texture unit. More... | |
| void | kzcRendererSetPixelStorePack (struct KzcRenderer *renderer, kzUint packBytes) |
| Sets pack storage for renderer. More... | |
| void | kzcRendererSetPixelStoreUnpack (struct KzcRenderer *renderer, kzUint unpackBytes) |
| Sets unpack storage for renderer. More... | |
| kzsError | kzcRendererCreateShader (const struct KzcRenderer *renderer, enum KzcRendererShaderType type, kzUint *out_shaderHandle) |
| Creates shader. More... | |
| kzsError | kzcRendererCreateShaderProgram (struct KzcRenderer *renderer, kzUint *out_programHandle) |
| Creates shader program. More... | |
| void | kzcRendererRefreshRenderContext (struct KzcRenderer *renderer, kzBool geometryRendering) |
| Refreshes render context to contain all proper states. More... | |
| kzsError | kzcRendererAttachShaderToProgram (struct KzcRenderer *renderer, kzUint programHandle, kzUint shaderHandle) |
| Attaches shader to program. More... | |
| kzsError | kzcRendererBindAttributeToLocation (struct KzcRenderer *renderer, kzUint programHandle, kzUint locationIndex, kzString attributeName) |
| Binds attribute to given location index, for example "kzPosition" to 0. More... | |
| kzsError | kzcRendererLinkShader (struct KzcRenderer *renderer, const struct KzcMemoryManager *memoryManager, kzUint programHandle, kzString shaderName, kzBool *out_success) |
| Links shader program with given handle. More... | |
| kzsError | kzcRendererCompileSourceShader (struct KzcRenderer *renderer, const struct KzcMemoryManager *memoryManager, enum KzcRendererShaderType shaderType, kzUint shaderHandle, kzString shaderCode, kzString shaderName, kzBool *out_compileSuccess) |
| Compiles source shader and deploys it to GPU. More... | |
| kzsError | kzcRendererDeployBinaryShader (struct KzcRenderer *renderer, kzUint count, const kzUint *shaders, kzUint formatConstant, const void *data, kzUint dataSize) |
| Deploys binary shaders. More... | |
| kzsError | kzcRendererProgramBinary (struct KzcRenderer *renderer, const struct KzcMemoryManager *memoryManager, kzUint program, kzUint formatConstant, const void *data, kzInt dataSize, kzBool *out_success) |
| Loads a program binary. More... | |
| kzsError | kzcRendererGetProgramBinary (const struct KzcRenderer *renderer, const struct KzcMemoryManager *memoryManager, kzUint program, kzUint *out_length, kzUint *out_format, kzByte **out_binary) |
| Retrieves the program binary currently associated with the shader program. More... | |
| kzsError | kzcRendererDeleteShader (struct KzcRenderer *renderer, kzUint programHandle, kzUint vertexShaderHandle, kzUint fragmentShaderHandle) |
| Deletes shader. More... | |
| kzsError | kzcRendererDeleteFixedUniformMapping (const struct KzcRenderer *renderer, kzUint handle) |
| Helper function for removing fixed uniform mapping for given shader handle. More... | |
| kzInt | kzcRendererGetFixedShaderUniformLocation (const struct KzcRenderer *renderer, enum KzcRendererFixedUniform fixedUniform) |
| Returns fixed shader uniform location of given fixed uniform. More... | |
| kzsError | kzcRendererGenerateFrameBuffer (const struct KzcRenderer *renderer, kzUint *out_framebufferHandle) |
| Generates new texture for renderer. More... | |
| kzsError | kzcRendererDeleteFrameBuffer (struct KzcRenderer *renderer, kzUint frameBufferHandle) |
| Deletes framebuffer. More... | |
| void | kzcRendererBindFrameBuffer (struct KzcRenderer *renderer, kzUint frameBufferHandle) |
| Binds framebuffer. More... | |
| kzBool | kzcRendererIsFrameBufferComplete (struct KzcRenderer *renderer) |
| Checks if the framebuffer is complete. More... | |
| kzsException | kzcRendererFrameBufferCheckErrors (struct KzcRenderer *renderer) |
| Check framebuffer completeness and log possible errors . More... | |
| kzsError | kzcRendererFrameBufferTexture2D (struct KzcRenderer *renderer, enum KzcRendererTextureTargetType textureTarget, enum KzcRendererFBOTarget frameBufferTarget, kzUint textureHandle, kzUint mipmapLevel) |
| Attaches texture to frame buffer. More... | |
| kzUint | kzcRendererGetCompressedTextureDataSizeBytes (kzUint width, kzUint height, enum KzcRendererTextureCompression compressionFormat) |
| Gets compressed texture data size in bytes. More... | |
| kzsError | kzcRendererFrameBufferRenderBuffer (struct KzcRenderer *renderer, enum KzcRendererFBOTarget frameBufferTarget, kzUint renderBufferHandle) |
| Attaches renderbuffer to framebuffer. More... | |
| kzsError | kzcRendererGenerateRenderBuffer (const struct KzcRenderer *renderer, kzUint *out_renderbufferHandle) |
| Generates new texture for renderer. More... | |
| kzsError | kzcRendererDeleteRenderBuffer (const struct KzcRenderer *renderer, kzUint renderBufferHandle) |
| Deletes framebuffer. More... | |
| void | kzcRendererBindRenderBuffer (struct KzcRenderer *renderer, kzUint renderBufferHandle) |
| Binds framebuffer. More... | |
| kzsException | kzcRendererRenderBufferStorage (const struct KzcRenderer *renderer, enum KzcRendererFBORenderBufferFormat format, kzUint width, kzUint height, kzUint multisamples) |
| Sets storage for render buffer. More... | |
| void | kzcRendererBlitFramebuffer (struct KzcRenderer *renderer, kzUint readBufferHandle, kzUint drawBufferHandle, kzUint sourceX, kzUint sourceY, kzUint sourceWidth, kzUint sourceHeight, kzUint destX, kzUint destY, kzUint destWidth, kzUint destHeight) |
| Blits framebuffer to depth and color. More... | |
| void | kzcRendererDrawFrameBuffers (struct KzcRenderer *renderer, kzUint targetCount) |
| Draws framebuffer to number of targets. More... | |
| kzsError | kzcRendererGenerateBuffer (const struct KzcRenderer *renderer, kzUint *out_handle) |
| Generates new index or vertex buffer or uniform buffer handle. More... | |
| void | kzcRendererSetVertexBufferData (struct KzcRenderer *renderer, kzUint dataSize, const void *data) |
| Sets static vertex buffer data. More... | |
| void | kzcRendererSetIndexBufferData (struct KzcRenderer *renderer, kzUint dataSize, const void *data) |
| Sets static index buffer data. More... | |
| void | kzcRendererSetVertexBufferSubData (struct KzcRenderer *renderer, kzUint offset, kzUint size, const void *data) |
| Uploads vertex buffer subdata with given offset and size. More... | |
| void | kzcRendererSetIndexBufferSubData (struct KzcRenderer *renderer, kzUint offset, kzUint size, const void *data) |
| Uploads index buffer subdata with given offset and size. More... | |
| kzsError | kzcRendererDeleteBuffer (struct KzcRenderer *renderer, kzUint handle) |
| Deletes vertex or index buffer. More... | |
| void | kzcRendererEnableVertexAttributeArray (struct KzcRenderer *renderer, kzUint attributeHandle) |
| Enables vertex attribute array. More... | |
| void | kzcRendererDisableVertexAttributeArray (struct KzcRenderer *renderer, kzUint attributeHandle) |
| Disables vertex attribute array. More... | |
| void | kzcRendererSetVertexBufferPointer (struct KzcRenderer *renderer, kzUint attributeHandle, kzUint dimension, enum KzcVertexAttributeDataType attributeDataType, kzUint stride, const void *pointer) |
| Sets vertex buffer object pointer for currently enabled vertex attribute array. More... | |
| kzsError | kzcRendererSetActiveShaderHandle (struct KzcRenderer *renderer, kzUint activeShaderHandle) |
| Sets active shader for renderer. More... | |
| kzUint | kzcRendererGetActiveShaderHandle (const struct KzcRenderer *coreRenderer) |
| Gets active shader handle from renderer. More... | |
| void | kzcRendererSetActiveVertexAttributeMap (struct KzcRenderer *renderer, struct KzcHashMap *vertexAttributeMap) |
| Sets active vertex attribute map for renderer. More... | |
| struct KzcHashMap * | kzcRendererGetActiveShaderAttributeMap (const struct KzcRenderer *renderer) |
| Gets active vertex attribute map from renderer. More... | |
| void | kzcRendererSetDefaultFrameBuffer (struct KzcRenderer *renderer, kzUint frameBufferHandle) |
| Specifies default frame buffer (screen) for renderer. More... | |
| void | kzcRendererSetActiveFrameBuffer (struct KzcRenderer *renderer, kzUint frameBufferHandle) |
| Sets active frame buffer for renderer. More... | |
| void | kzcRendererResetActiveFrameBuffer (struct KzcRenderer *renderer) |
| Resets active frame buffer for renderer to default (screen). More... | |
| void | kzcRendererSetActiveFrameBufferCallback (struct KzcRenderer *renderer, KzcRendererFrameBufferCallback callbackFunction) |
| Sets callback function that is called after setActiveFrameBuffer. More... | |
| kzUint | kzcRendererGetActiveFrameBuffer (const struct KzcRenderer *renderer) |
| Gets active frame buffer handle from. More... | |
| void | kzcRendererReadPixels (struct KzcRenderer *renderer, kzInt x, kzInt y, kzInt width, kzInt height, enum KzcRendererColorFormat format, void *pixels) |
| Reads the pixels from the current frame buffer. More... | |
| enum KzcRendererColorFormat | kzcRendererGetNativePixelReadFormat (struct KzcRenderer *renderer) |
| Returns native pixel read format from renderer. More... | |
| void | kzcRendererBeginMaterialSetup (struct KzcRenderer *renderer) |
| Begins a material for renderer. More... | |
| kzsError | kzcRendererEndMaterialSetup (struct KzcRenderer *renderer) |
| Ends a material for renderer. More... | |
| void | kzcRendererBeginVertexArray (struct KzcRenderer *renderer, kzUint vertexArrayFlags) |
| Begins set of vertex arrays. More... | |
| void | kzcRendererSetVertexArrayData (struct KzcRenderer *renderer, kzUint vertexArrayFlag, const void *data) |
| Sets vertex array data. More... | |
| kzsError | kzcRendererEndVertexArray (struct KzcRenderer *renderer, enum KzcPrimitiveType primitiveType, kzUint count) |
| Ends vertex array. More... | |
| const void * | kzcRendererGetCurrentVertexArrayAttributeData (const struct KzcRenderer *renderer, enum KzcRendererVertexAttribute attribute) |
| Gets current vertex array data from renderer. More... | |
| kzsError | kzcRendererPrintInfo (const struct KzcRenderer *renderer) |
| Prints info about renderer capabilities. More... | |
| void | kzcRendererSetLineWidth (struct KzcRenderer *renderer, kzFloat lineWidth) |
| Sets line rendering width for renderer. More... | |
| void | kzcRendererGetViewport (const struct KzcRenderer *renderer, kzFloat *out_x, kzFloat *out_y, kzFloat *out_width, kzFloat *out_height) |
| Gets view port from renderer. More... | |
| void | kzcRendererFlush (const struct KzcRenderer *renderer) |
| Flushes the GPU pipeline, forces all commands to be executed in finite time. More... | |
| void | kzcRendererSetCollectingStatisticsEnabled (struct KzcRenderer *renderer, kzBool collectingStatisticsEnabled) |
| Sets debug logging state for renderer. More... | |
| kzUint | kzcRendererGetTriangleCount (const struct KzcRenderer *renderer) |
| Gets triangle count from renderer. More... | |
| kzUint | kzcRendererGetShaderSwitchCount (const struct KzcRenderer *renderer) |
| Gets shader switches. More... | |
| kzUint | kzcRendererGetUniformSendCount (const struct KzcRenderer *renderer) |
| Gets uniform sending count from renderer. More... | |
| kzUint | kzcRendererGetTextureSwitchCount (const struct KzcRenderer *renderer) |
| Gets number of texture switches from renderer. More... | |
| kzUint | kzcRendererGetFrameBufferSwitchCount (const struct KzcRenderer *renderer) |
| Gets number of framebuffer switches from renderer. More... | |
| kzUint | kzcRendererGetBufferSwitchCount (const struct KzcRenderer *renderer) |
| Gets number of buffer switches (VBO + IBO) from renderer. More... | |
| kzUint | kzcRendererGetBatchCount (const struct KzcRenderer *renderer) |
| Gets batch count from renderer (number of draw calls, such as drawElements and drawArrays). More... | |
| kzUint | kzcRendererGetHeavyweightCallCount (const struct KzcRenderer *renderer) |
| Returns potential heavyweight calls such as buffer or texture updates and glFinish from renderer. More... | |
| kzsError | kzcRendererSetBinaryShaderFormatIdentifier (struct KzcRenderer *renderer, kzString binaryShaderID, kzUint binaryFormatGPUConstant) |
| Sets binary shader format identifier for renderer. More... | |
| kzString | kzcRendererGetBinaryShaderFormatIdentifier (const struct KzcRenderer *renderer) |
| Gets binary shader format identifier from renderer. More... | |
| kzUint | kzcRendererGetBinaryShaderGPUFormatIdentifier (const struct KzcRenderer *renderer) |
| Gets the GPU identifier of the binary shader format. More... | |
| void | kzcRendererSetProgramBinaryExtensionEnabled (struct KzcRenderer *renderer, kzBool enabled) |
| Sets the usage of the GL_OES_get_program_binary extension when loading binary shaders. More... | |
| kzBool | kzcRendererIsProgramBinaryExtensionEnabled (const struct KzcRenderer *renderer) |
| Checks if the use of GL_OES_get_program_binary extension is enabled. More... | |
| void | kzcRendererSetShaderCachingEnabled (struct KzcRenderer *renderer, kzBool enabled) |
| Sets shader caching enabled / disabled. More... | |
| kzBool | kzcRendererIsShaderCachingEnabled (const struct KzcRenderer *renderer) |
| Checks if shader caching is enabled. More... | |
| void | kzcRendererSetShaderCacheDirectory (struct KzcRenderer *renderer, kzString cacheDirectory) |
| Sets directory used for shader-cache. More... | |
| kzString | kzcRendererGetShaderCacheDirectory (const struct KzcRenderer *renderer) |
| Get shader-cache directory. More... | |
| void | kzcRendererSetGPUCallsEnabled (struct KzcRenderer *renderer, kzBool enabled) |
| Sets GPU calls enabled / disabled. More... | |
| kzBool | kzcRendererGPUCallsIsEnabled (const struct KzcRenderer *renderer) |
| Checks if GPU calls are enabled. More... | |
| kzsError | kzcRendererPrintExtensionInfo (const struct KzcRenderer *renderer) |
| Prints raw list of extensions supported. More... | |
| kzBool | kzcRendererIsDepthStencilSupported (struct KzcRenderer *renderer) |
| Checks if combined depth+stencil render buffer format is supported. More... | |
| kzBool | kzcRendererIsCoverageBufferSupported (struct KzcRenderer *renderer) |
| Is coverage buffer supported or not. More... | |
| kzBool | kzcRendererIsHalfFloatSupported (struct KzcRenderer *renderer) |
| Is half float supported. More... | |
| kzBool | kzcRendererIsFrameBufferSupported (struct KzcRenderer *renderer) |
| Is frame buffer supported. More... | |
| kzBool | kzcRendererIsFrameBufferDepth24Supported (struct KzcRenderer *renderer) |
| Is frame buffer depth 24 supported. More... | |
| kzBool | kzcRendererIsUniformBufferSupported (struct KzcRenderer *renderer) |
| Returns if uniform buffer is supported. More... | |
| kzBool | kzcRendererIsExternalTextureSupported (struct KzcRenderer *renderer) |
| Returns if external texture extension is supported. More... | |
| kzBool | kzcRendererIsMapBufferRangeSupported (struct KzcRenderer *renderer) |
| Returns if map buffer range extension is supported. More... | |
| kzBool | kzcRendererGetUniformBufferBlockLocation (struct KzcRenderer *renderer, kzUint shaderHandle, kzString uniformBufferBlock, kzUint *out_location) |
| Gets location of the uniform buffer. More... | |
| kzInt | kzcRendererBindUniformBlockToBuffer (struct KzcRenderer *renderer, kzString uniformBufferBlock) |
| Binds uniform block to buffer. More... | |
| void | kzcRendererSetUniformBufferData (struct KzcRenderer *renderer, kzUint dataSize, const void *data) |
| Sets dynamic uniform buffer data. More... | |
| void | kzcRendererSetUniformBuffer (struct KzcRenderer *renderer, kzUint value) |
| Sets a uniform buffer for renderer. More... | |
| kzUint | kzcRendererGetUniformBlockUniformCount (struct KzcRenderer *renderer, kzUint shaderHandle, kzUint uniformBufferBlock) |
| Gets specific uniform block uniform count. More... | |
| kzUint | kzcRendererGetUniformBlockSize (struct KzcRenderer *renderer, kzUint shaderHandle, kzUint uniformBufferBlock) |
| Gets specific uniform block size. More... | |
| kzsError | kzcRendererGetUniformIndices (struct KzcRenderer *renderer, kzUint shaderHandle, kzUint uniformBufferBlock, kzUint uniformCount, kzMutableString **out_uniformNames, kzInt **out_uniformLocations, kzInt **out_uniformOffsets) |
| Gets uniform names, locations and offsets from given shader and uniform block. More... | |
| void | kzcRendererBindBufferBase (struct KzcRenderer *renderer, kzUint uniformBufferHandle, kzUint bindingPoint) |
| Binds uniform buffer base to binding point. More... | |
| void | kzcRendererSetUniformBufferSubData (struct KzcRenderer *renderer, kzUint offset, kzUint dataSize, const void *data) |
| Uploads sub data for uniform buffer. More... | |
| kzsError | kzcRendererCreateImageObject (struct KzcRenderer *renderer, void *dataPointer, kzInt target, kzInt *attributes, void **out_imageObject) |
| Creates image object, returns KZ_NULL if no hardware support. More... | |
| kzsError | kzcRendererDeleteImageObject (struct KzcRenderer *renderer, void *imageObject) |
| Deletes image object created with kzcRendererCreateImageObject. More... | |
| kzsError | kzcRendererSetImageTargetTexture (struct KzcRenderer *renderer, enum KzcRendererTextureType textureType, void *imageObject) |
| Sets image object bound to currently bound texture (type). More... | |
| void | kzcRendererBeginActiveUniformBlockUniform (struct KzcRenderer *renderer, kzByte *data, kzInt offset, kzUint uniformBlockUniformBufferHandle) |
| Begins active uniform block uniform deployment. More... | |
| void | kzcRendererEndActiveUniformBlockUniform (struct KzcRenderer *renderer) |
| Ends active uniform block uniform deployment. More... | |
| kzsError | kzcRendererInitializeUniformBufferBlock (struct KzcRenderer *renderer, const struct KzcMemoryManager *memoryManager, kzUint programHandle, kzString blockName) |
| Initializes a new uniform block. More... | |
| kzBool | kzcRendererGetUniformBufferLocation (struct KzcRenderer *coreRenderer, kzUint programHandle, kzString uniformName, kzInt *out_offset, kzByte **out_data, kzUint *out_uniformBufferHandle) |
| Gets uniform buffer location from renderer. More... | |
| kzBool | kzcRendererIsCompressionFormatSupported (struct KzcRenderer *renderer, enum KzcRendererTextureCompression compression) |
| Returns if specific texture compression format is supported. More... | |
| kzFloat | kzcRendererGetMaximumAnisotropy (struct KzcRenderer *renderer) |
| Gets maximum anisotropy. More... | |
| kzUint | kzcRendererGetMaximumTextureSize (struct KzcRenderer *renderer) |
| Gets maximum texture side size. More... | |
| kzUint | kzcRendererGetMaximumCubemapSize (struct KzcRenderer *renderer) |
| Gets maximum cubemap side size. More... | |
| kzUint | kzcRendererGetStencilBufferBits (struct KzcRenderer *renderer) |
| Returns number of stencil buffer bits in main GL context. More... | |
| kzInt | kzcRendererGetColorReadFormat (struct KzcRenderer *renderer) |
| Returns GL constant for the color read format used in reading back data form framebuffer (kzcRendererReadPixels). More... | |
| kzInt | kzcRendererGetColorReadType (struct KzcRenderer *renderer) |
| Returns GL constant for the color read type used in reading back data form framebuffer (kzcRendererReadPixels). More... | |
| kzsError | kzcRendererInvalidateAllocations (struct KzcRenderer *renderer) |
| Invalidates all handles from renderer without affecting GL state. More... | |
| struct KzcGPUBufferManager * | kzcRendererGetGPUBufferManager (const struct KzcRenderer *renderer) |
| Gets GPU buffer manager from renderer. More... | |
Variables | |
| const kzString | KzcRendererFixedUniformNames [KZC_RENDERER_FIXED_UNIFORM_COUNT] |
| Specifies uniform names of the fixed uniforms. More... | |
| const kzString | KZC_RENDERER_ATTRIBUTE_POSITION |
| Attribute string for vertex positions. More... | |
| const kzString | KZC_RENDERER_ATTRIBUTE_NORMAL |
| Attribute string for vertex normals. More... | |
| const kzString | KZC_RENDERER_ATTRIBUTE_TANGENT |
| Attribute string for vertex tangents. More... | |
| const kzString | KZC_RENDERER_ATTRIBUTE_WEIGHT |
| Attribute string for vertex weight (skinning). More... | |
| const kzString | KZC_RENDERER_ATTRIBUTE_MATRIX_PALETTE |
| Attribute string for matrix palette (skinning). More... | |
| const kzString | KZC_RENDERER_ATTRIBUTE_TEXTURE_COORDINATE [KZC_RENDERER_MAX_TEXTURE_UNITS] |
| List of attribute strings for texture coordinates. More... | |
| const kzString | KZC_RENDERER_ATTRIBUTE_COLOR [KZC_RENDERER_MAX_VERTEX_COLORS] |
| List of attribute strings for vertex colors. More... | |
Core renderer.
Contains the graphics state machine.
Copyright 2008-2019 by Rightware. All rights reserved.
| #define KZC_RENDERER_UNIFORM_CACHE_SIZE |
Size of the uniform cache.
| #define KZC_RENDERER_PER_FRAME_MEMORY_MANAGER_SIZE |
Size of the per frame memory manager.
| #define KZC_RENDERER_MAX_TEXTURE_UNITS |
Maximum number of supported texture units.
| #define KZC_RENDERER_MAX_VERTEX_ATTRIBUTES |
Maximum amount of shader vertex attributes.
| #define KZC_RENDERER_BUFFER_VALUE_NONE |
Null value for buffers, that is, vertex & index buffer.
| #define KZC_RENDERER_TEXTURE_COMPRESSION_COUNT |
Number of texture compression modes.
| #define KZC_VERTEX_ARRAY_POSITION |
Positions for vertex array.
| #define KZC_VERTEX_ARRAY_NORMAL |
Normals for vertex array.
| #define KZC_VERTEX_ARRAY_COLOR |
Colors for vertex array.
| #define KZC_VERTEX_ARRAY_TEXTURE_COORDINATE |
UVs for vertex array.
| #define KZC_RENDERER_UNIFORM_BUFFER_DEFAULT |
Default uniform buffer, that contains all the uniforms in the shader.
| #define KZC_RENDERER_MAX_VERTEX_COLORS |
Maximum number of supported vertex colors, used in rendering of vertex arrays.
Callback prototype for setActiveFrameBuffer.
| enum KzcRendererState |
Renderer state enumerations.
| enum KzcRendererCullMode |
| enum KzcRendererScalar |
Renderer stencil modes.
Renderer stencil operations.
| enum KzcRendererMatrix |
List of active matrices renderer keeps track of.
List of color write modes.
| enum KzcRendererBlendMode |
List of renderer blend modes.
| enum KzcRendererDepthTest |
List of renderer depth modes.
List of texture types.
Specifies list of available texture formats.
Texture target type.
| enum KzcPrimitiveType |
Enumeration for index buffer primitive type.
Type of vertex attribute.
Vertex attribute data type.
| enum KzcVertexListFormat |
Supported texture compressions.
| enum KzcRendererFBOTarget |
Type of the FBO target.
FBO render buffer format.
Fixed uniform locations of the shader.
FrameBuffer depth bits.
Vertex attribute enumeration for engine.
| kzsError kzcRendererCreate | ( | const struct KzcMemoryManager * | memoryManager, |
| struct KzcRenderer ** | out_renderer | ||
| ) |
Creates a new renderer object.
| kzsError kzcRendererDelete | ( | struct KzcRenderer * | renderer) |
Deletes a renderer object.
| kzsError kzcRendererResetFrame | ( | struct KzcRenderer * | renderer) |
Resets frame for core renderer, that is, counters for logging rendering infos (triangle count etc.).
| kzsError kzcRendererReset | ( | struct KzcRenderer * | renderer) |
Resets renderer, e.g.
resets its caches and states and syncs renderer variables with actual GL states.
| kzsError kzcRendererInitialize | ( | struct KzcRenderer * | renderer, |
| kzUint | vertexBufferPoolSize, | ||
| kzUint | indexBufferPoolSize | ||
| ) |
Initializes renderer object.
Requires graphics context.
| kzsError kzcRendererUninitialize | ( | struct KzcRenderer * | renderer) |
Uninitializes renderer object.
| void kzcRendererSetActiveSurface | ( | struct KzcRenderer * | renderer, |
| struct KzsSurface * | surface | ||
| ) |
Sets active surface context for renderer.
| struct KzsSurface* kzcRendererGetActiveSurface | ( | const struct KzcRenderer * | renderer) |
Gets active surface context from renderer.
| void kzcRendererEnableState | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererState | state | ||
| ) |
Enables a specific renderer state.
| void kzcRendererDisableState | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererState | state | ||
| ) |
Disables a specific renderer state.
| void kzcRendererSetState | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererState | state, | ||
| kzBool | enable | ||
| ) |
Enables or disables the state of a specific renderer state.
| kzBool kzcRendererGetState | ( | const struct KzcRenderer * | renderer, |
| enum KzcRendererState | state | ||
| ) |
Returns state of a specific renderer state.
| void kzcRendererClear | ( | struct KzcRenderer * | renderer) |
Clears a context using specified flags.
| void kzcRendererResetClearTarget | ( | struct KzcRenderer * | renderer) |
Resets a clear target for renderer.
| void kzcRendererAddClearTarget | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererClearTarget | target | ||
| ) |
Sets a clearing target for renderer.
| void kzcRendererRemoveClearTarget | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererClearTarget | target | ||
| ) |
Removes a clearing target for renderer.
| kzBool kzcRendererHasClearTarget | ( | const struct KzcRenderer * | renderer, |
| enum KzcRendererClearTarget | target | ||
| ) |
Sees if renderer has specific clear target.
| kzBool kzcRendererIsClearEnabled | ( | const struct KzcRenderer * | renderer) |
See if clear is enabled.
| void kzcRendererSetClearColor | ( | struct KzcRenderer * | renderer, |
| struct KzcColorRGBA | colorRGBA | ||
| ) |
Set clear color for renderer.
| void kzcRendererSetColorWriteMode | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererColorWriteMode | colorWriteMode | ||
| ) |
Set a color write mode for renderer.
| enum KzcRendererColorWriteMode kzcRendererGetColorWriteMode | ( | const struct KzcRenderer * | renderer) |
Gets current color write mode from renderer.
| void kzcRendererSetScissorTest | ( | struct KzcRenderer * | renderer, |
| kzBool | enabled, | ||
| kzInt | x, | ||
| kzInt | y, | ||
| kzInt | width, | ||
| kzInt | height | ||
| ) |
Sets scissor test for renderer.
| void kzcRendererGetScissorTest | ( | const struct KzcRenderer * | renderer, |
| kzInt * | out_x, | ||
| kzInt * | out_y, | ||
| kzInt * | out_width, | ||
| kzInt * | out_height | ||
| ) |
Gets scissor specific values from renderer.
KZ_NULL if not requiring some specific value.
| void kzcRendererSetClearDepthValue | ( | struct KzcRenderer * | renderer, |
| kzFloat | clearDepthValue | ||
| ) |
Set clear depth for renderer.
| void kzcRendererSetClearStencil | ( | struct KzcRenderer * | renderer, |
| kzInt | stencilClearValue | ||
| ) |
Set clear stencil for renderer.
| void kzcRendererSetViewport | ( | struct KzcRenderer * | renderer, |
| kzInt | x, | ||
| kzInt | y, | ||
| kzInt | width, | ||
| kzInt | height | ||
| ) |
Sets an active view port for renderer.
| void kzcRendererSetVertexBuffer | ( | struct KzcRenderer * | renderer, |
| kzUint | value | ||
| ) |
Sets a vertex buffer for renderer.
| void kzcRendererSetIndexBuffer | ( | struct KzcRenderer * | renderer, |
| kzUint | value | ||
| ) |
Sets an index buffer for renderer.
| void kzcRendererDrawBuffers | ( | struct KzcRenderer * | renderer) |
Render buffers that are currently bound.
| void kzcRendererSetVertexCount | ( | struct KzcRenderer * | renderer, |
| kzUint | vertexCount | ||
| ) |
Sets vertex count for renderer.
| void kzcRendererSetIndexCount | ( | struct KzcRenderer * | renderer, |
| kzUint | indexCount | ||
| ) |
Sets the index count for renderer.
| void kzcRendererSetIndexData | ( | struct KzcRenderer * | renderer, |
| void * | indexData | ||
| ) |
Sets index data for renderer.
| void kzcRendererSetIndexType | ( | struct KzcRenderer * | renderer, |
| enum KzcPrimitiveType | indexType | ||
| ) |
Sets the index type for renderer.
| kzsError kzcRendererGetUniformLocation | ( | const struct KzcRenderer * | renderer, |
| kzString | uniformName, | ||
| kzInt * | out_uniformLocation | ||
| ) |
Finds uniform location for given uniform from active shader.
The data will be stored to uniform cache and fetched from in subsequent calls.
| kzsError kzcRendererGetUniformArrayLength | ( | const struct KzcRenderer * | renderer, |
| kzString | uniformName, | ||
| kzUint * | out_arrayLength | ||
| ) |
Returns array uniform length for given uniform.
If uniform with given name is not found, returns 0. If uniform is not an array, returns 1.
| kzsError kzcRendererSetUniformInteger | ( | struct KzcRenderer * | renderer, |
| kzInt | value, | ||
| kzInt | uniformLocation | ||
| ) |
Sets integer uniform for renderer, using currently bound shader.
| kzsError kzcRendererSetUniformFloat | ( | struct KzcRenderer * | renderer, |
| kzFloat | value, | ||
| kzInt | uniformLocation | ||
| ) |
Sets float uniform for renderer, using currently bound shader.
| kzsError kzcRendererSetUniformFloatArray | ( | struct KzcRenderer * | renderer, |
| kzInt | uniformLocation, | ||
| kzUint | count, | ||
| const kzFloat * | value | ||
| ) |
Sets uniform float array for renderer.
| kzsError kzcRendererSetUniformVec2 | ( | struct KzcRenderer * | renderer, |
| const struct KzcVector2 * | value, | ||
| kzInt | uniformLocation | ||
| ) |
Sets uniform vec2 for renderer, using currently bound shader.
| kzsError kzcRendererSetUniformVec3 | ( | struct KzcRenderer * | renderer, |
| const struct KzcVector3 * | value, | ||
| kzInt | uniformLocation | ||
| ) |
Sets uniform vec3 for renderer, using currently bound shader.
| kzsError kzcRendererSetUniformVec3Array | ( | struct KzcRenderer * | renderer, |
| kzInt | uniformLocation, | ||
| kzUint | count, | ||
| const struct KzcVector3 * | value | ||
| ) |
Sets uniform vec3 array for renderer.
| kzsError kzcRendererSetUniformVec4 | ( | struct KzcRenderer * | renderer, |
| const struct KzcVector4 * | value, | ||
| kzInt | uniformLocation | ||
| ) |
Sets uniform vec4 for renderer, using currently bound shader.
| kzsError kzcRendererSetUniformVecArray | ( | struct KzcRenderer * | renderer, |
| kzInt | uniformLocation, | ||
| kzUint | count, | ||
| kzUint | dimension, | ||
| const kzFloat * | values | ||
| ) |
Sets arbitrary vector array with dimension to renderer, using currently bound shader.
| kzsError kzcRendererSetUniformColorRGBA | ( | struct KzcRenderer * | renderer, |
| const struct KzcColorRGBA * | value, | ||
| kzInt | uniformLocation | ||
| ) |
Sets uniform colorRGBA for renderer, using currently bound shader.
| kzsError kzcRendererSetUniformVec4Array | ( | struct KzcRenderer * | renderer, |
| kzInt | uniformLocation, | ||
| kzUint | count, | ||
| const struct KzcVector4 * | value | ||
| ) |
Sets uniform vec4 array for renderer.
| kzsError kzcRendererSetUniformMatrix2x2 | ( | struct KzcRenderer * | renderer, |
| const struct KzcMatrix2x2 * | value, | ||
| kzInt | uniformLocation | ||
| ) |
Sets matrix2x2 uniform for renderer, using currently bound shader.
| kzsError kzcRendererSetUniformMatrix3x3 | ( | struct KzcRenderer * | renderer, |
| const struct KzcMatrix3x3 * | value, | ||
| kzInt | uniformLocation | ||
| ) |
Sets matrix3x3 uniform for renderer, using currently bound shader.
| kzsError kzcRendererSetUniformMatrix4x4 | ( | struct KzcRenderer * | renderer, |
| const struct KzcMatrix4x4 * | value, | ||
| kzInt | uniformLocation | ||
| ) |
Sets matrix4x4 uniform for renderer, using currently bound shader.
| void kzcRendererSetActiveScalar | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererScalar | scalar, | ||
| kzFloat | value | ||
| ) |
Switches an scalar value for renderer if necessary, e.g.
depth clear value.
| kzFloat kzcRendererGetActiveScalar | ( | const struct KzcRenderer * | renderer, |
| enum KzcRendererScalar | scalar | ||
| ) |
Returns a current scalar value from renderer.
| void kzcRendererSetBlendMode | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererBlendMode | blendMode | ||
| ) |
Sets a blend mode for renderer.
| enum KzcRendererBlendMode kzcRendererGetBlendMode | ( | const struct KzcRenderer * | renderer) |
Gets a blend mode for renderer.
| void kzcRendererSetCullMode | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererCullMode | cullMode | ||
| ) |
Sets a cull mode for renderer.
| enum KzcRendererCullMode kzcRendererGetCullMode | ( | const struct KzcRenderer * | renderer) |
Gets a cull mode for renderer.
| void kzcRendererSetDepthTest | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererDepthTest | depthMode | ||
| ) |
Sets a depth pass mode for renderer.
| enum KzcRendererDepthTest kzcRendererGetDepthTest | ( | const struct KzcRenderer * | renderer) |
Gets a depth pass mode for renderer.
| void kzcRendererSetStencilFunction | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererStencilFunction | stencilFunction, | ||
| kzUint | referenceValue, | ||
| kzUint | maskValue | ||
| ) |
Sets a stencil function for renderer.
| void kzcRendererSetStencilOperation | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererStencilOperation | stencilFailOperation, | ||
| enum KzcRendererStencilOperation | stencilPassDepthFailOperation, | ||
| enum KzcRendererStencilOperation | stencilPassDepthPassOperation | ||
| ) |
Sets a stencil operation for renderer.
| void kzcRendererGetStencilFunction | ( | const struct KzcRenderer * | renderer, |
| enum KzcRendererStencilFunction * | out_stencilFunction, | ||
| kzUint * | out_referenceValue, | ||
| kzUint * | out_maskValue | ||
| ) |
Gets stencil function from renderer.
| void kzcRendererGetStencilOperation | ( | const struct KzcRenderer * | renderer, |
| enum KzcRendererStencilOperation * | out_stencilFailOperation, | ||
| enum KzcRendererStencilOperation * | out_stencilPassDepthFailOperation, | ||
| enum KzcRendererStencilOperation * | out_stencilPassDepthPassOperation | ||
| ) |
Gets a stencil operation from renderer.
| void kzcRendererSetMatrix | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererMatrix | matrixType, | ||
| const struct KzcMatrix4x4 * | matrix | ||
| ) |
Sets matrix for a renderer.
| struct KzcMatrix4x4 kzcRendererGetMatrix | ( | const struct KzcRenderer * | renderer, |
| enum KzcRendererMatrix | matrixType | ||
| ) |
Gets a matrix from renderer.
| void kzcRendererCalculateProjectionCameraWorldMatrix | ( | struct KzcRenderer * | renderer) |
Calculates projection * camera * world matrix.
| kzsError kzcRendererApplyTransformation | ( | struct KzcRenderer * | renderer) |
Applies transformations from renderer to GPU.
| kzsError kzcRendererSetActiveTextureUnit | ( | struct KzcRenderer * | renderer, |
| kzUint | textureUnit | ||
| ) |
Sets texture unit active.
| kzsError kzcRendererGetTextureSizeUniformLocations | ( | const struct KzcRenderer * | renderer, |
| kzInt * | out_textureWidthUniformLocation, | ||
| kzInt * | out_textureHeightUniformLocation | ||
| ) |
Gets texture uniform locations from renderer.
| kzsError kzcRendererApplyTextureSizeUniforms | ( | struct KzcRenderer * | renderer, |
| kzInt | textureWidthUniformLocation, | ||
| kzInt | textureHeightUniformLocation, | ||
| kzUint | textureWidth, | ||
| kzUint | textureHeight | ||
| ) |
Applies texture uniforms for the renderer.
| kzsError kzcRendererApplyTexture | ( | struct KzcRenderer * | renderer, |
| kzInt | textureUniformLocation, | ||
| kzUint | textureHandle, | ||
| enum KzcRendererTextureType | textureType | ||
| ) |
Applies texture for renderer using currently bound shader (required) and texture uniform (required).
| void kzcRendererSetUniformTexture | ( | struct KzcRenderer * | renderer, |
| kzInt | uniformLocation | ||
| ) |
Sets texture uniform location for renderer, effectively used for storing the integer in renderer to retrieve it when binding textures.
| kzInt kzcRendererGetUniformTexture | ( | const struct KzcRenderer * | renderer) |
Gets texture uniform location from renderer.
| kzsError kzcRendererDetachTextureHandle | ( | struct KzcRenderer * | renderer, |
| kzUint | textureHandle | ||
| ) |
Detaches texture handle from all texture units it has been applied for.
| void kzcRendererDetachTexture | ( | struct KzcRenderer * | renderer) |
Detaches texture from rendering.
| kzsError kzcRendererInvalidateTextureHandle | ( | struct KzcRenderer * | renderer, |
| kzUint | textureHandle | ||
| ) |
Invalidates texture handle from renderer without affecting GL state.
| void kzcRendererBindTexture | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererTextureType | textureType, | ||
| kzUint | textureHandle | ||
| ) |
Binds texture for renderer.
| kzsError kzcRendererGenerateTexture | ( | struct KzcRenderer * | renderer, |
| kzUint * | out_textureHandle | ||
| ) |
Generates new texture for renderer.
| void kzcRendererSetTextureImage2D | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererTextureType | textureType, | ||
| kzUint | mipmapLevel, | ||
| enum KzcRendererTextureFormat | textureFormat, | ||
| kzUint | width, | ||
| kzUint | height, | ||
| const void * | data | ||
| ) |
Uploads texture data to GPU.
| void kzcRendererSetTextureSubImage2D | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererTextureType | textureType, | ||
| kzUint | mipmapLevel, | ||
| enum KzcRendererTextureFormat | textureFormat, | ||
| kzUint | x, | ||
| kzUint | y, | ||
| kzUint | width, | ||
| kzUint | height, | ||
| const void * | data | ||
| ) |
Uploads texture subimage data to GPU.
| kzsError kzcRendererSetCompressedTextureImage2D | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererTextureType | textureType, | ||
| kzUint | mipmapLevel, | ||
| enum KzcRendererTextureCompression | compression, | ||
| kzUint | width, | ||
| kzUint | height, | ||
| const void * | data | ||
| ) |
Uploads compressed texture data to GPU.
| kzsError kzcRendererDeleteTexture | ( | struct KzcRenderer * | renderer, |
| kzUint | textureHandle | ||
| ) |
Deletes texture via renderer.
| void kzcRendererSetTextureWrapMode | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererTextureType | textureType, | ||
| enum KzcRendererTextureWrapMode | wrapMode | ||
| ) |
Sets wrap mode for currently bound texture in current texture unit.
| void kzcRendererSetTextureFilter | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererTextureType | textureType, | ||
| enum KzcRendererTextureFilter | filter, | ||
| kzFloat | anisotropy | ||
| ) |
Sets texture filter for currently bound texture in current texture unit.
| anisotropy | Set anisotropic filtering level of texture. Values <= 1.0f disable the feature. |
| void kzcRendererSetPixelStorePack | ( | struct KzcRenderer * | renderer, |
| kzUint | packBytes | ||
| ) |
Sets pack storage for renderer.
Specifies how the pixel data is aligned.
| void kzcRendererSetPixelStoreUnpack | ( | struct KzcRenderer * | renderer, |
| kzUint | unpackBytes | ||
| ) |
Sets unpack storage for renderer.
Specifies how the pixel data is aligned.
| kzsError kzcRendererCreateShader | ( | const struct KzcRenderer * | renderer, |
| enum KzcRendererShaderType | type, | ||
| kzUint * | out_shaderHandle | ||
| ) |
Creates shader.
| kzsError kzcRendererCreateShaderProgram | ( | struct KzcRenderer * | renderer, |
| kzUint * | out_programHandle | ||
| ) |
Creates shader program.
Returns the handle to the program.
| void kzcRendererRefreshRenderContext | ( | struct KzcRenderer * | renderer, |
| kzBool | geometryRendering | ||
| ) |
Refreshes render context to contain all proper states.
| kzsError kzcRendererAttachShaderToProgram | ( | struct KzcRenderer * | renderer, |
| kzUint | programHandle, | ||
| kzUint | shaderHandle | ||
| ) |
Attaches shader to program.
| kzsError kzcRendererBindAttributeToLocation | ( | struct KzcRenderer * | renderer, |
| kzUint | programHandle, | ||
| kzUint | locationIndex, | ||
| kzString | attributeName | ||
| ) |
Binds attribute to given location index, for example "kzPosition" to 0.
| kzsError kzcRendererLinkShader | ( | struct KzcRenderer * | renderer, |
| const struct KzcMemoryManager * | memoryManager, | ||
| kzUint | programHandle, | ||
| kzString | shaderName, | ||
| kzBool * | out_success | ||
| ) |
Links shader program with given handle.
| kzsError kzcRendererCompileSourceShader | ( | struct KzcRenderer * | renderer, |
| const struct KzcMemoryManager * | memoryManager, | ||
| enum KzcRendererShaderType | shaderType, | ||
| kzUint | shaderHandle, | ||
| kzString | shaderCode, | ||
| kzString | shaderName, | ||
| kzBool * | out_compileSuccess | ||
| ) |
Compiles source shader and deploys it to GPU.
| kzsError kzcRendererDeployBinaryShader | ( | struct KzcRenderer * | renderer, |
| kzUint | count, | ||
| const kzUint * | shaders, | ||
| kzUint | formatConstant, | ||
| const void * | data, | ||
| kzUint | dataSize | ||
| ) |
Deploys binary shaders.
| kzsError kzcRendererProgramBinary | ( | struct KzcRenderer * | renderer, |
| const struct KzcMemoryManager * | memoryManager, | ||
| kzUint | program, | ||
| kzUint | formatConstant, | ||
| const void * | data, | ||
| kzInt | dataSize, | ||
| kzBool * | out_success | ||
| ) |
Loads a program binary.
Uses a different OpenGL extension depending on the platform.
| kzsError kzcRendererGetProgramBinary | ( | const struct KzcRenderer * | renderer, |
| const struct KzcMemoryManager * | memoryManager, | ||
| kzUint | program, | ||
| kzUint * | out_length, | ||
| kzUint * | out_format, | ||
| kzByte ** | out_binary | ||
| ) |
Retrieves the program binary currently associated with the shader program.
| kzsError kzcRendererDeleteShader | ( | struct KzcRenderer * | renderer, |
| kzUint | programHandle, | ||
| kzUint | vertexShaderHandle, | ||
| kzUint | fragmentShaderHandle | ||
| ) |
Deletes shader.
| kzsError kzcRendererDeleteFixedUniformMapping | ( | const struct KzcRenderer * | renderer, |
| kzUint | handle | ||
| ) |
Helper function for removing fixed uniform mapping for given shader handle.
| kzInt kzcRendererGetFixedShaderUniformLocation | ( | const struct KzcRenderer * | renderer, |
| enum KzcRendererFixedUniform | fixedUniform | ||
| ) |
Returns fixed shader uniform location of given fixed uniform.
| kzsError kzcRendererGenerateFrameBuffer | ( | const struct KzcRenderer * | renderer, |
| kzUint * | out_framebufferHandle | ||
| ) |
Generates new texture for renderer.
| kzsError kzcRendererDeleteFrameBuffer | ( | struct KzcRenderer * | renderer, |
| kzUint | frameBufferHandle | ||
| ) |
Deletes framebuffer.
| void kzcRendererBindFrameBuffer | ( | struct KzcRenderer * | renderer, |
| kzUint | frameBufferHandle | ||
| ) |
Binds framebuffer.
| kzBool kzcRendererIsFrameBufferComplete | ( | struct KzcRenderer * | renderer) |
Checks if the framebuffer is complete.
| kzsException kzcRendererFrameBufferCheckErrors | ( | struct KzcRenderer * | renderer) |
Check framebuffer completeness and log possible errors .
| kzsError kzcRendererFrameBufferTexture2D | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererTextureTargetType | textureTarget, | ||
| enum KzcRendererFBOTarget | frameBufferTarget, | ||
| kzUint | textureHandle, | ||
| kzUint | mipmapLevel | ||
| ) |
Attaches texture to frame buffer.
| kzUint kzcRendererGetCompressedTextureDataSizeBytes | ( | kzUint | width, |
| kzUint | height, | ||
| enum KzcRendererTextureCompression | compressionFormat | ||
| ) |
Gets compressed texture data size in bytes.
| kzsError kzcRendererFrameBufferRenderBuffer | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererFBOTarget | frameBufferTarget, | ||
| kzUint | renderBufferHandle | ||
| ) |
Attaches renderbuffer to framebuffer.
| kzsError kzcRendererGenerateRenderBuffer | ( | const struct KzcRenderer * | renderer, |
| kzUint * | out_renderbufferHandle | ||
| ) |
Generates new texture for renderer.
| kzsError kzcRendererDeleteRenderBuffer | ( | const struct KzcRenderer * | renderer, |
| kzUint | renderBufferHandle | ||
| ) |
Deletes framebuffer.
| void kzcRendererBindRenderBuffer | ( | struct KzcRenderer * | renderer, |
| kzUint | renderBufferHandle | ||
| ) |
Binds framebuffer.
| kzsException kzcRendererRenderBufferStorage | ( | const struct KzcRenderer * | renderer, |
| enum KzcRendererFBORenderBufferFormat | format, | ||
| kzUint | width, | ||
| kzUint | height, | ||
| kzUint | multisamples | ||
| ) |
Sets storage for render buffer.
| void kzcRendererBlitFramebuffer | ( | struct KzcRenderer * | renderer, |
| kzUint | readBufferHandle, | ||
| kzUint | drawBufferHandle, | ||
| kzUint | sourceX, | ||
| kzUint | sourceY, | ||
| kzUint | sourceWidth, | ||
| kzUint | sourceHeight, | ||
| kzUint | destX, | ||
| kzUint | destY, | ||
| kzUint | destWidth, | ||
| kzUint | destHeight | ||
| ) |
Blits framebuffer to depth and color.
| void kzcRendererDrawFrameBuffers | ( | struct KzcRenderer * | renderer, |
| kzUint | targetCount | ||
| ) |
Draws framebuffer to number of targets.
| kzsError kzcRendererGenerateBuffer | ( | const struct KzcRenderer * | renderer, |
| kzUint * | out_handle | ||
| ) |
Generates new index or vertex buffer or uniform buffer handle.
| void kzcRendererSetVertexBufferData | ( | struct KzcRenderer * | renderer, |
| kzUint | dataSize, | ||
| const void * | data | ||
| ) |
Sets static vertex buffer data.
| void kzcRendererSetIndexBufferData | ( | struct KzcRenderer * | renderer, |
| kzUint | dataSize, | ||
| const void * | data | ||
| ) |
Sets static index buffer data.
| void kzcRendererSetVertexBufferSubData | ( | struct KzcRenderer * | renderer, |
| kzUint | offset, | ||
| kzUint | size, | ||
| const void * | data | ||
| ) |
Uploads vertex buffer subdata with given offset and size.
| void kzcRendererSetIndexBufferSubData | ( | struct KzcRenderer * | renderer, |
| kzUint | offset, | ||
| kzUint | size, | ||
| const void * | data | ||
| ) |
Uploads index buffer subdata with given offset and size.
| kzsError kzcRendererDeleteBuffer | ( | struct KzcRenderer * | renderer, |
| kzUint | handle | ||
| ) |
Deletes vertex or index buffer.
| void kzcRendererEnableVertexAttributeArray | ( | struct KzcRenderer * | renderer, |
| kzUint | attributeHandle | ||
| ) |
Enables vertex attribute array.
| renderer | Renderer to operate in. |
| attributeHandle | Vertex attribute to enable. |
| void kzcRendererDisableVertexAttributeArray | ( | struct KzcRenderer * | renderer, |
| kzUint | attributeHandle | ||
| ) |
Disables vertex attribute array.
| renderer | Renderer to operate in. |
| attributeHandle | Vertex attribute to disable. |
| void kzcRendererSetVertexBufferPointer | ( | struct KzcRenderer * | renderer, |
| kzUint | attributeHandle, | ||
| kzUint | dimension, | ||
| enum KzcVertexAttributeDataType | attributeDataType, | ||
| kzUint | stride, | ||
| const void * | pointer | ||
| ) |
Sets vertex buffer object pointer for currently enabled vertex attribute array.
| kzsError kzcRendererSetActiveShaderHandle | ( | struct KzcRenderer * | renderer, |
| kzUint | activeShaderHandle | ||
| ) |
Sets active shader for renderer.
| kzUint kzcRendererGetActiveShaderHandle | ( | const struct KzcRenderer * | coreRenderer) |
Gets active shader handle from renderer.
| void kzcRendererSetActiveVertexAttributeMap | ( | struct KzcRenderer * | renderer, |
| struct KzcHashMap * | vertexAttributeMap | ||
| ) |
Sets active vertex attribute map for renderer.
| struct KzcHashMap* kzcRendererGetActiveShaderAttributeMap | ( | const struct KzcRenderer * | renderer) |
Gets active vertex attribute map from renderer.
| void kzcRendererSetDefaultFrameBuffer | ( | struct KzcRenderer * | renderer, |
| kzUint | frameBufferHandle | ||
| ) |
Specifies default frame buffer (screen) for renderer.
| void kzcRendererSetActiveFrameBuffer | ( | struct KzcRenderer * | renderer, |
| kzUint | frameBufferHandle | ||
| ) |
Sets active frame buffer for renderer.
| void kzcRendererResetActiveFrameBuffer | ( | struct KzcRenderer * | renderer) |
Resets active frame buffer for renderer to default (screen).
| void kzcRendererSetActiveFrameBufferCallback | ( | struct KzcRenderer * | renderer, |
| KzcRendererFrameBufferCallback | callbackFunction | ||
| ) |
Sets callback function that is called after setActiveFrameBuffer.
| kzUint kzcRendererGetActiveFrameBuffer | ( | const struct KzcRenderer * | renderer) |
Gets active frame buffer handle from.
| void kzcRendererReadPixels | ( | struct KzcRenderer * | renderer, |
| kzInt | x, | ||
| kzInt | y, | ||
| kzInt | width, | ||
| kzInt | height, | ||
| enum KzcRendererColorFormat | format, | ||
| void * | pixels | ||
| ) |
Reads the pixels from the current frame buffer.
| enum KzcRendererColorFormat kzcRendererGetNativePixelReadFormat | ( | struct KzcRenderer * | renderer) |
Returns native pixel read format from renderer.
| void kzcRendererBeginMaterialSetup | ( | struct KzcRenderer * | renderer) |
Begins a material for renderer.
| kzsError kzcRendererEndMaterialSetup | ( | struct KzcRenderer * | renderer) |
Ends a material for renderer.
| void kzcRendererBeginVertexArray | ( | struct KzcRenderer * | renderer, |
| kzUint | vertexArrayFlags | ||
| ) |
Begins set of vertex arrays.
| renderer | Core renderer object. |
| vertexArrayFlags | Set of vertex arrays to be applied. Options: KZC_VERTEX_ARRAY_POSITION, KZC_VERTEX_ARRAY_NORMAL, KZC_VERTEX_ARRAY_TEXTURE_COORDINATE and KZC_VERTEX_ARRAY_COLOR. |
| void kzcRendererSetVertexArrayData | ( | struct KzcRenderer * | renderer, |
| kzUint | vertexArrayFlag, | ||
| const void * | data | ||
| ) |
Sets vertex array data.
| kzsError kzcRendererEndVertexArray | ( | struct KzcRenderer * | renderer, |
| enum KzcPrimitiveType | primitiveType, | ||
| kzUint | count | ||
| ) |
Ends vertex array.
Renders the specified vertex lists and finishes the usage.
| const void* kzcRendererGetCurrentVertexArrayAttributeData | ( | const struct KzcRenderer * | renderer, |
| enum KzcRendererVertexAttribute | attribute | ||
| ) |
Gets current vertex array data from renderer.
Reset when switching the shader.
| kzsError kzcRendererPrintInfo | ( | const struct KzcRenderer * | renderer) |
Prints info about renderer capabilities.
| void kzcRendererSetLineWidth | ( | struct KzcRenderer * | renderer, |
| kzFloat | lineWidth | ||
| ) |
Sets line rendering width for renderer.
| void kzcRendererGetViewport | ( | const struct KzcRenderer * | renderer, |
| kzFloat * | out_x, | ||
| kzFloat * | out_y, | ||
| kzFloat * | out_width, | ||
| kzFloat * | out_height | ||
| ) |
Gets view port from renderer.
If out_x, out_y, out_width or out_height are specified as KZ_NULL, they're not used.
| void kzcRendererFlush | ( | const struct KzcRenderer * | renderer) |
Flushes the GPU pipeline, forces all commands to be executed in finite time.
| void kzcRendererSetCollectingStatisticsEnabled | ( | struct KzcRenderer * | renderer, |
| kzBool | collectingStatisticsEnabled | ||
| ) |
Sets debug logging state for renderer.
| kzUint kzcRendererGetTriangleCount | ( | const struct KzcRenderer * | renderer) |
Gets triangle count from renderer.
| kzUint kzcRendererGetShaderSwitchCount | ( | const struct KzcRenderer * | renderer) |
Gets shader switches.
| kzUint kzcRendererGetUniformSendCount | ( | const struct KzcRenderer * | renderer) |
Gets uniform sending count from renderer.
| kzUint kzcRendererGetTextureSwitchCount | ( | const struct KzcRenderer * | renderer) |
Gets number of texture switches from renderer.
| kzUint kzcRendererGetFrameBufferSwitchCount | ( | const struct KzcRenderer * | renderer) |
Gets number of framebuffer switches from renderer.
| kzUint kzcRendererGetBufferSwitchCount | ( | const struct KzcRenderer * | renderer) |
Gets number of buffer switches (VBO + IBO) from renderer.
| kzUint kzcRendererGetBatchCount | ( | const struct KzcRenderer * | renderer) |
Gets batch count from renderer (number of draw calls, such as drawElements and drawArrays).
| kzUint kzcRendererGetHeavyweightCallCount | ( | const struct KzcRenderer * | renderer) |
Returns potential heavyweight calls such as buffer or texture updates and glFinish from renderer.
Potential due to GPU implementation may decide when heavyweight occurs (e.g. reading cannot be performed before write operation finishes).
| kzsError kzcRendererSetBinaryShaderFormatIdentifier | ( | struct KzcRenderer * | renderer, |
| kzString | binaryShaderID, | ||
| kzUint | binaryFormatGPUConstant | ||
| ) |
Sets binary shader format identifier for renderer.
This is used to detect corresponding binary shader from list of compiled binaries. KZ_NULL to none, i.e. using platform-specific string.
| binaryFormatIdentifier | GPU identifier of the binary shader (GL constant for glShaderBinary function). |
| kzString kzcRendererGetBinaryShaderFormatIdentifier | ( | const struct KzcRenderer * | renderer) |
Gets binary shader format identifier from renderer.
KZ_NULL if nothing is set.
| kzUint kzcRendererGetBinaryShaderGPUFormatIdentifier | ( | const struct KzcRenderer * | renderer) |
Gets the GPU identifier of the binary shader format.
| void kzcRendererSetProgramBinaryExtensionEnabled | ( | struct KzcRenderer * | renderer, |
| kzBool | enabled | ||
| ) |
Sets the usage of the GL_OES_get_program_binary extension when loading binary shaders.
| kzBool kzcRendererIsProgramBinaryExtensionEnabled | ( | const struct KzcRenderer * | renderer) |
Checks if the use of GL_OES_get_program_binary extension is enabled.
| void kzcRendererSetShaderCachingEnabled | ( | struct KzcRenderer * | renderer, |
| kzBool | enabled | ||
| ) |
Sets shader caching enabled / disabled.
| kzBool kzcRendererIsShaderCachingEnabled | ( | const struct KzcRenderer * | renderer) |
Checks if shader caching is enabled.
| void kzcRendererSetShaderCacheDirectory | ( | struct KzcRenderer * | renderer, |
| kzString | cacheDirectory | ||
| ) |
Sets directory used for shader-cache.
| kzString kzcRendererGetShaderCacheDirectory | ( | const struct KzcRenderer * | renderer) |
Get shader-cache directory.
KZ_NULL if not set.
| void kzcRendererSetGPUCallsEnabled | ( | struct KzcRenderer * | renderer, |
| kzBool | enabled | ||
| ) |
Sets GPU calls enabled / disabled.
| kzBool kzcRendererGPUCallsIsEnabled | ( | const struct KzcRenderer * | renderer) |
Checks if GPU calls are enabled.
| kzsError kzcRendererPrintExtensionInfo | ( | const struct KzcRenderer * | renderer) |
Prints raw list of extensions supported.
| kzBool kzcRendererIsDepthStencilSupported | ( | struct KzcRenderer * | renderer) |
Checks if combined depth+stencil render buffer format is supported.
| kzBool kzcRendererIsCoverageBufferSupported | ( | struct KzcRenderer * | renderer) |
Is coverage buffer supported or not.
| kzBool kzcRendererIsHalfFloatSupported | ( | struct KzcRenderer * | renderer) |
Is half float supported.
| kzBool kzcRendererIsFrameBufferSupported | ( | struct KzcRenderer * | renderer) |
Is frame buffer supported.
| kzBool kzcRendererIsFrameBufferDepth24Supported | ( | struct KzcRenderer * | renderer) |
Is frame buffer depth 24 supported.
| kzBool kzcRendererIsUniformBufferSupported | ( | struct KzcRenderer * | renderer) |
Returns if uniform buffer is supported.
| kzBool kzcRendererIsExternalTextureSupported | ( | struct KzcRenderer * | renderer) |
Returns if external texture extension is supported.
| kzBool kzcRendererIsMapBufferRangeSupported | ( | struct KzcRenderer * | renderer) |
Returns if map buffer range extension is supported.
| kzBool kzcRendererGetUniformBufferBlockLocation | ( | struct KzcRenderer * | renderer, |
| kzUint | shaderHandle, | ||
| kzString | uniformBufferBlock, | ||
| kzUint * | out_location | ||
| ) |
Gets location of the uniform buffer.
| kzInt kzcRendererBindUniformBlockToBuffer | ( | struct KzcRenderer * | renderer, |
| kzString | uniformBufferBlock | ||
| ) |
Binds uniform block to buffer.
| void kzcRendererSetUniformBufferData | ( | struct KzcRenderer * | renderer, |
| kzUint | dataSize, | ||
| const void * | data | ||
| ) |
Sets dynamic uniform buffer data.
| void kzcRendererSetUniformBuffer | ( | struct KzcRenderer * | renderer, |
| kzUint | value | ||
| ) |
Sets a uniform buffer for renderer.
| kzUint kzcRendererGetUniformBlockUniformCount | ( | struct KzcRenderer * | renderer, |
| kzUint | shaderHandle, | ||
| kzUint | uniformBufferBlock | ||
| ) |
Gets specific uniform block uniform count.
| kzUint kzcRendererGetUniformBlockSize | ( | struct KzcRenderer * | renderer, |
| kzUint | shaderHandle, | ||
| kzUint | uniformBufferBlock | ||
| ) |
Gets specific uniform block size.
| kzsError kzcRendererGetUniformIndices | ( | struct KzcRenderer * | renderer, |
| kzUint | shaderHandle, | ||
| kzUint | uniformBufferBlock, | ||
| kzUint | uniformCount, | ||
| kzMutableString ** | out_uniformNames, | ||
| kzInt ** | out_uniformLocations, | ||
| kzInt ** | out_uniformOffsets | ||
| ) |
Gets uniform names, locations and offsets from given shader and uniform block.
| void kzcRendererBindBufferBase | ( | struct KzcRenderer * | renderer, |
| kzUint | uniformBufferHandle, | ||
| kzUint | bindingPoint | ||
| ) |
Binds uniform buffer base to binding point.
| void kzcRendererSetUniformBufferSubData | ( | struct KzcRenderer * | renderer, |
| kzUint | offset, | ||
| kzUint | dataSize, | ||
| const void * | data | ||
| ) |
Uploads sub data for uniform buffer.
| kzsError kzcRendererCreateImageObject | ( | struct KzcRenderer * | renderer, |
| void * | dataPointer, | ||
| kzInt | target, | ||
| kzInt * | attributes, | ||
| void ** | out_imageObject | ||
| ) |
Creates image object, returns KZ_NULL if no hardware support.
Image object can be bound as texture input. Requires surface to be set for renderer via kzcRendererSetSurface, otherwise throws an error.
| kzsError kzcRendererDeleteImageObject | ( | struct KzcRenderer * | renderer, |
| void * | imageObject | ||
| ) |
Deletes image object created with kzcRendererCreateImageObject.
| kzsError kzcRendererSetImageTargetTexture | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererTextureType | textureType, | ||
| void * | imageObject | ||
| ) |
Sets image object bound to currently bound texture (type).
| void kzcRendererBeginActiveUniformBlockUniform | ( | struct KzcRenderer * | renderer, |
| kzByte * | data, | ||
| kzInt | offset, | ||
| kzUint | uniformBlockUniformBufferHandle | ||
| ) |
Begins active uniform block uniform deployment.
| void kzcRendererEndActiveUniformBlockUniform | ( | struct KzcRenderer * | renderer) |
Ends active uniform block uniform deployment.
| kzsError kzcRendererInitializeUniformBufferBlock | ( | struct KzcRenderer * | renderer, |
| const struct KzcMemoryManager * | memoryManager, | ||
| kzUint | programHandle, | ||
| kzString | blockName | ||
| ) |
Initializes a new uniform block.
| kzBool kzcRendererGetUniformBufferLocation | ( | struct KzcRenderer * | coreRenderer, |
| kzUint | programHandle, | ||
| kzString | uniformName, | ||
| kzInt * | out_offset, | ||
| kzByte ** | out_data, | ||
| kzUint * | out_uniformBufferHandle | ||
| ) |
Gets uniform buffer location from renderer.
| kzBool kzcRendererIsCompressionFormatSupported | ( | struct KzcRenderer * | renderer, |
| enum KzcRendererTextureCompression | compression | ||
| ) |
Returns if specific texture compression format is supported.
| kzFloat kzcRendererGetMaximumAnisotropy | ( | struct KzcRenderer * | renderer) |
Gets maximum anisotropy.
| kzUint kzcRendererGetMaximumTextureSize | ( | struct KzcRenderer * | renderer) |
Gets maximum texture side size.
| kzUint kzcRendererGetMaximumCubemapSize | ( | struct KzcRenderer * | renderer) |
Gets maximum cubemap side size.
| kzUint kzcRendererGetStencilBufferBits | ( | struct KzcRenderer * | renderer) |
Returns number of stencil buffer bits in main GL context.
| kzInt kzcRendererGetColorReadFormat | ( | struct KzcRenderer * | renderer) |
Returns GL constant for the color read format used in reading back data form framebuffer (kzcRendererReadPixels).
| kzInt kzcRendererGetColorReadType | ( | struct KzcRenderer * | renderer) |
Returns GL constant for the color read type used in reading back data form framebuffer (kzcRendererReadPixels).
| kzsError kzcRendererInvalidateAllocations | ( | struct KzcRenderer * | renderer) |
Invalidates all handles from renderer without affecting GL state.
| struct KzcGPUBufferManager* kzcRendererGetGPUBufferManager | ( | const struct KzcRenderer * | renderer) |
Gets GPU buffer manager from renderer.
| const kzString KzcRendererFixedUniformNames[KZC_RENDERER_FIXED_UNIFORM_COUNT] |
Specifies uniform names of the fixed uniforms.
| const kzString KZC_RENDERER_ATTRIBUTE_POSITION |
Attribute string for vertex positions.
| const kzString KZC_RENDERER_ATTRIBUTE_NORMAL |
Attribute string for vertex normals.
| const kzString KZC_RENDERER_ATTRIBUTE_TANGENT |
Attribute string for vertex tangents.
| const kzString KZC_RENDERER_ATTRIBUTE_WEIGHT |
Attribute string for vertex weight (skinning).
| const kzString KZC_RENDERER_ATTRIBUTE_MATRIX_PALETTE |
Attribute string for matrix palette (skinning).
| const kzString KZC_RENDERER_ATTRIBUTE_TEXTURE_COORDINATE[KZC_RENDERER_MAX_TEXTURE_UNITS] |
List of attribute strings for texture coordinates.
| const kzString KZC_RENDERER_ATTRIBUTE_COLOR[KZC_RENDERER_MAX_VERTEX_COLORS] |
List of attribute strings for vertex colors.